home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / revic.arc / RMANUAL.TXT < prev   
Encoding:
Text File  |  1990-07-10  |  63.0 KB  |  1,214 lines

  1.   
  2.   
  3.   
  4.   
  5.   
  6.   
  7.   
  8.   
  9.   
  10.                                  REVIC  
  11.  
  12.   
  13.                      SOFTWARE COST ESTIMATING MODEL  
  14.   
  15.   
  16.                               USER'S MANUAL  
  17.   
  18.   
  19.   
  20.   
  21.   
  22.   
  23.   
  24.   
  25.                                  VERSION 8.7  
  26.                                  August 1989  
  27.   
  28.   
  29.   
  30.   
  31.   
  32.   
  33.   
  34.   
  35.   
  36.   
  37.                                  Developed By  
  38.                                 Raymond L. Kile  
  39.   
  40.   
  41.  
  42.                                TABLE OF CONTENTS  
  43.   
  44.   
  45.   
  46. SECTION 1 - DESCRIPTION  
  47.      REVIC EQUATIONS  
  48.      SOFTWARE DEVELOPMENT MODES  
  49.      DEVELOPMENT PHASE DESCRIPTIONS  
  50.      MAINTENANCE PHASE DESCRIPTION  
  51.      DIFFERENCES BETWEEN REVIC AND COCOMO  
  52.      CALIBRATION AND ACCURACY  
  53.      OTHER REFERENCE MATERIALS  
  54.   
  55. SECTION 2  -  REVIC FILES  
  56.      PROGRAM FILES  
  57.           DATA FILES - .RDF  
  58.           DATA FILES - .RFF
  59.           DATA FILES - .RCF
  60.   
  61. SECTION 3  -  GETTING STARTED  
  62.      LOAD SAVED FILE  
  63.      SELECT ENVIRONMENT  
  64.      NEW CODE DESCRIPTION   
  65.      NEW CODE ENTER   
  66.           STATISTICAL TREATMENT OF CODE ESTIMATES   
  67.           DECOMPOSING CODE ESTIMATES   
  68.           PRODUCTIVITY VS SIZE OF CODE   
  69.           PRODUCTIVITY VS ENVIRONMENTAL FACTORS   
  70.           ADA AND PRODUCTIVITY
  71.      ADAPTED CODE DESCRIPTION   
  72.           ADAPTED CODE ENTER   
  73.      PHASE DISTRIBUTION DISPLAY   
  74.   
  75. SECTION 4  -  PROGRAM OPTIONS   
  76.      USING THE MENU  
  77.      THE FILES MENU  
  78.           FILES MENU - Save Data File  
  79.           FILES MENU - Load Data File  
  80.           FILES MENU - Restart  
  81.      THE REPORTS MENU  
  82.           REPORTS MENU - Full Report  
  83.           REPORTS MENU - Phase Report  
  84.           REPORTS MENU - Maintenance Report  
  85.           REPORTS MENU - CDRL Page Estimates  
  86.      THE ENVIRONMENT MENU  
  87.           ENVIRONMENT MENU - Edit Factors  
  88.           ENVIRONMENT MENU - Load Factor File  
  89.           ENVIRONMENT MENU - Save Factors  
  90.           ENVIRONMENT MENU - Ada Use  
  91.      THE CONSTRAINTS MENU  
  92.          CONSTRAINTS MENU - Remove Constraints  
  93.          CONSTRAINTS MENU - Total Schedule  
  94.          CONSTRAINTS MENU - Manpower By Phase  
  95.          CONSTRAINTS MENU -Schedule By Phase  
  96.      THE MISC MENU  
  97.           MISC MENU - System Engineering  
  98.           MISC MENU - DT&E  
  99.           MISC MENU - Inflation Factors  
  100.           MISC MENU - Phase Distributions  
  101.      THE DISPLAY MENU  
  102.           DISPLAY MENU - Phase Dist. Display  
  103.           DISPLAY MENU - Risk Display  
  104.           DISPLAY MENU - Activity Display  
  105.           DISPLAY MENU - Maintenance Display  
  106.           DISPLAY MENU - CDRL page estimates  
  107.      THE SLOC MENU  
  108.           SLOC MENU - Both New & Adapted Code  
  109.           SLOC MENU - New Code Only  
  110.           SLOC MENU - Adapted Code Only  
  111.           SLOC MENU - Edit Code Estimate  
  112.      THE BEGIN MENU  
  113.      THE QUIT MENU  
  114.      ADDITIONAL MENU CHOICES  
  115.           CHANGE PROGRAM COEFFICIENTS  
  116.           SAVE PROGRAM COEFFICIENTS  
  117.   
  118. SECTION 5 - REVIC EVOLUTION  
  119.      CALIBRATION  
  120.      SUGGESTIONS FOR IMPROVEMENTS  
  121.   
  122.   
  123.   
  124. SECTION 1 - DESCRIPTION  
  125.   
  126.   
  127. REVIC EQUATIONS  
  128. The REVIC (Ray's Enhanced Version of Intermediate COCOMO) model predicts   
  129. the develoment life cycle costs for software development from   
  130. requirements analysis through completion of the software acceptance   
  131. testing and the maintenance life cycle for fifteen years.  It is similar to 
  132. the intermediate form  of the CONSTRUCTIVE COST MODEL (COCOMO) described   
  133. by Dr. Barry W. Boehm in his book Software Engineering Economics.  The   
  134. intermediate COCOMO model provides a set of basic equations which   
  135. calculate the effort (manpower in man-months and hours) and schedule   
  136. (elapsed time in calendar months) to perform a typical software   
  137. development project based on an estimate of the lines of code to be   
  138. developed and a description of the development environment. The forms of   
  139. the basic equations are shown in Figure 1.  
  140.   
  141.                                              B  
  142.                       (1)   MM = A * ( KDSI )   * Fi  
  143.   
  144.                                              D  
  145.                       (2)   TDEV = C * ( MM )  
  146.   
  147.   
  148.   
  149.                      FIGURE 1 - COCOMO EQUATIONS  
  150.   
  151. Equation (1) predicts the manpower (MM) in man-months based on the   
  152. estimated lines of code to be developed (KDSI is an acronym for Thousand   
  153. Delivered Source Instructions) and the product of a group of environmental  
  154. factors Fi.  The coefficients (A, B, C, and D) and the factors (Fi) are   
  155. determined by statistical means from a database of completed projects.    
  156. The factors attempt to account for the variations in the total development  
  157. environment (such as programmer's capabilities or experience with the   
  158. hardware/software) which tend to increase or decrease the total effort and  
  159. schedule.  The results from equation (1) are input to equation (2) to   
  160. determine the resulting schedule (TDEV  is an acronym for Time for   
  161. Development) in months needed to perform the complete development.  The   
  162. COCOMO model then provides a set of tables which provide a distribution of  
  163. the effort and schedule to the phases of development (system engineering,   
  164. preliminary design, critical design, etc.) and activities (system analysis, 
  165. coding, test planning, etc.) as a percentage of the total.    
  166.   
  167.   
  168. SOFTWARE DEVELOPMENT MODES  
  169. The intermediate form of the COCOMO model has three basic modes of   
  170. software development.  These modes describe the overall software   
  171. development in terms of the size, number of interfaces, and complexity.    
  172. Each mode provides a different set of coefficients for the basic equations. 
  173. In addition to the three COCOMO modes, REVIC provides a fourth mode
  174. specifically for Ada projects.  The four modes are described in TABLE 1.    
  175.   
  176.  
  177.                ORGANIC  -  Standalone program with few interfaces,  
  178.                         a stable development environment, no new  
  179.                         algorithms, and few constraints.  Usually very  
  180.                         small programs.  
  181.   
  182.             SEMIDETACHED  -  A combination of organic and embedded features. 
  183.   
  184.             EMBEDDED  -  Programs with considerable interfaces, new  
  185.                          algorithms, and/or extremely tight constraints. 
  186.                          Usually very large or complicated programs.  
  187.  
  188.             ADA  -  Programs designed and developed using the Ada design
  189.                     methodology, language, and APSE.
  190.   
  191.   
  192.              TABLE  1  -  COCOMO/REVIC Software Development Modes  
  193.   
  194.   
  195. REVIC assumes a default of Embedded mode upon startup.  If you need to   
  196. change the mode, you will have the opportunity in the SELECT ENVIRONMENT   
  197. display screen described later in this manual.  
  198.   
  199.   
  200. DEVELOPMENT PHASE DESCRIPTIONS  
  201. The COCOMO model, as represented by equation (1) and (2), is based on the   
  202. development phase of typical software development activity.  The   
  203. development phase periods are described in TABLE 2.  
  204.   
  205. There are several things to note about Table 2.  First, the development   
  206. period for the COCOMO model does not include the system engineering phase.  
  207. The amount of effort expended in a system engineering phase can vary   
  208. dramatically based on how much work was previously done in a Concept   
  209. Validation phase or during the proposal period.  The REVIC program predicts 
  210. the effort and schedule in the system engineering phase by taking a   
  211. percentage of the development phases.  REVIC  provides a default value for  
  212. this percentage based on average programs, but allows you to change the   
  213. percentage if desired.  
  214.   
  215.   
  216. Phase                    Start Milestone                 End Milestone  
  217.  
  218. System Engineering       Generally Contract              Completion of S/W  
  219.                          Award                           Specification Review 
  220.                                                          (SSR)  
  221.   
  222. *Preliminary Design      Completion of S/W               Completion of   
  223.                          Specification Review            Preliminary Design 
  224.                          (SRR)                           Review (PDR)  
  225.   
  226. *Critical Design         Completion of PDR               Completion of  
  227.                                                          Critical Design  
  228.                                                          Review (CDR)  
  229.   
  230. *Code & Unit Testing     Completion of CDR               Completion of CSC  
  231.                                                          Testing by the S/W 
  232.                                                          programmers (CUT)  
  233.   
  234. *Integration & Test      Completion of CUT               Completion of the  
  235.                                                          Prelim Qual Test  
  236.                                                          (PQT) at the CSCI  
  237.                                                          level  
  238.   
  239. Development Test &       Completion of the               Completion of the  
  240. Evaluation               Formal Qual. Test               System Level       
  241.                          (FQT) at the CSCI               Functional and  
  242.                                                          Physical Configuration
  243.  
  244.                                                          Audits (FCA, PCA)  
  245.   
  246. * - Items are covered in the Intermediate COCOMO equations  
  247.   
  248.   
  249.                TABLE 2 - Development Phase Descriptions  
  250.   
  251.   
  252. The second item of note in Table 2 is that the COCOMO development phase   
  253. stops at completion of the integration and test phase (after successful PQT) 
  254. This phase is characterized by the integration of software CSCs into CSCIs  
  255. and testing of the CSCIs against the test criteria developed during the   
  256. program.  It does not include the subsystem level integration (commonly called 
  257. software builds) of CSCIs together or system level testing to ensure the   
  258. requirements of the system level specifications are met.  The S/W to S/W   
  259. and S/W to H/W integration and testing is accounted for in the Development  
  260. Test & Evaluation (DT&E) phase.  The REVIC program predicts the effort and  
  261. schedule for this phase similarly to the system engineering phase, by taking 
  262. a percentage of the development phases.  Again, REVIC provides a default   
  263. percentage for this phase based on average programs and allows the user to  
  264. change the percentage if desired.    
  265.   
  266. Some contractors combine the Code and Unit Test phase with the Integration &
  267. Test phase and call the result the Construct phase.  The total effort predicted
  268. by the REVIC model for the two combined phases should be added together into
  269. the Construct phase if you are using that convention. MAINTENANCE PHASE DESCRIPTION  
  270. The REVIC model provides an estimate for the maintenance of software over   
  271. a fifteen year period by implementing the equation described in Dr. Boehm's 
  272. book and shown in Figure 2.  
  273.   
  274.   
  275.   
  276.                    (3)    MMAM = ( MMnom) * ACT * MFi  
  277.   
  278.                   FIGURE 2 - COCOMO MAINTENANCE EQUATION  
  279.   
  280.   
  281. In equation (3), MMnom  is the result of equation (1) without multiplying by 
  282. the environmental factors (Fi).  The first new term in the equation, ACT, is 
  283. the annual change traffic expressed in percent.  The second new term in the 
  284. equation, MFi, is a set of maintenance environment factors.   REVIC provides 
  285. a default percentage for ACT and also allows you to change it if desired.   
  286.  
  287. The program assumes that there will be some transition period after   
  288. delivery of the software during which residual errors will be found before  
  289. reaching a steady state condition and provides a declining, positive delta to 
  290. the ACT during the first three years.  In the first year, the ACT is multiplied
  291. by 1.5 by REVIC, while in the second year the multiplier is 1.3 and the third
  292. year's is 1.15.  The fourth and all subsequent years apply the straight value
  293. specified for ACT.
  294.   
  295.   
  296. DIFFERENCES BETWEEN REVIC AND COCOMO  
  297. The primary difference between REVIC and COCOMO is the basic coefficients   
  298. used in the equations and REVICs addition of a mode for Ada programs.  REVIC
  299. has been calibrated to a data base of recently completed DOD projects and uses
  300. different coefficients.  On the average, the values predicted by the basic
  301. effort and schedule equations will be higher in REVIC vs COCOMO.  The Air
  302. Force's Contract Management Division published a study validating the REVIC
  303. equations using a data base (the data base collected by the Rome Air
  304. Development Center) different from that used for calibration.  In addition, the
  305. model has been shown to compare to within  2% of expensive commercial models
  306. (see CALIBRATION AND ACCURACY below).   Other differences arise in the
  307. mechanization of the distribution of effort and schedule to the various phases
  308. of the development and the automatic calculation of standard deviations for
  309. risk assessment.  COCOMO provides a table for distributing the effort and
  310. schedule over the development phases based on the size of the code being
  311. developed.  REVIC provides a single weighted 'average' distribution for effort
  312. and schedule, along with the ability to let the user vary the percentages in
  313. the system engineering and DT&E phases.  The REVIC model has also been enhanced
  314. by using PERT statistical  methods for determining the lines of code to be
  315. developed.  Low, high, and most probable estimates for each CPC (computer
  316. program component) are used to calculate the effective lines of code and the
  317. standard deviation.  The effective lines of code and standard deviation are
  318. then used in the equations rather than the linear sum of the estimates.  In
  319. this manner, the estimating uncertainties can be quantified and, to some
  320. extent, reduced.  A sensitivity analysis showing the plus and minus three
  321. sigmas for effort and schedule is automatically calculated using the standard
  322. deviation.  
  323.  
  324. In the area of public domain software, there have been many faithful   
  325. attempts to mechanize the COCOMO model in spreadsheets, usually Lotus   
  326. based.  All of these efforts suffer from the serious flaw of requiring the  
  327. user to be extremely knowledgable about the model and capable in   
  328. manipulating the spreadsheet.  REVIC stands head and shoulder above those 
  329. attempts in its ability to isolate the user from any required detailed   
  330. knowledge of the algorithms.  Through the use of non-modal programming   
  331. with extensive prompting and help screens, REVIC removes the typical   
  332. intimidation factor that prevents analysts from using models sucessfully.   
  333.  
  334. The majority of the REVIC program is concerned with a user-friendly   
  335. method of prompting for the information needed by the program to determine  
  336. the proper coefficients, factors, and distribution tables.  In effect, the  
  337. program provides a complete interface between the user and the model.    
  338. REVIC further distances itself from other public domain models in providing 
  339. the capability to interactively constrain the schedules and staffing levels. 
  340. Schedules can be constrained either in the aggregate or by phase of the   
  341. development effort.  Staffing can be constrained by phase.  Using these   
  342. features, the analyst can estimate cost over/underuns and schedule slips at 
  343. any major milestone.  
  344.   
  345. Once the initial input process is complete (i.e. the program has enough   
  346. information to calculate the effort and schedule), the user is presented with 
  347. a custom menu which allows fully exercising the analytical features and   
  348. displays of the program.  All inputs are easily recalled and changed to   
  349. facilitate analyses, and in addition, the user can constrain the solution in 
  350. a variety of ways as described above.  
  351.   
  352.   
  353. CALIBRATION AND ACCURACY  
  354. The level of accuracy provided by the model is directly proportional to the 
  355. confidence you have in the line-of-code (LOC) estimates and the description 
  356. of the development environment.  When little is known about the project or  
  357. environment, the model can be run leaving all the environmental parameters  
  358. and default values at their nominal settings.  The only input required is a 
  359. LOC estimate.  As the details of the project become known, the data file can 
  360. be reloaded into the program and the nominal values can be changed to   
  361. reflect the new knowledge.  In this way, the accuracy of the model   
  362. continually improves.  
  363.   
  364. REVIC's coefficients have been calibrated to a data base of recently   
  365. completed projects (development phases only) by using the techniques   
  366. described in Dr. Boehm's book, and provides estimates which are within  5%  
  367. of the projects in the data base.  The REVIC model was  compared to the   
  368. commercially available System 3 model (Dr. Randal Jensen's model as   
  369. distributed by Computer Economics Inc.) during a study performed for the   
  370. Department of Defense.  After establishing identical environments for both  
  371. models, the average efforts predicted by both differed by less than  2%,   
  372. while the average schedules differed by   6%.  The primary reason for the   
  373. greater schedule variance is probably due to REVIC's (and COCOMO's) level   
  374. step staffing profile compared to the Jensen model's smooth Rayleigh curve  
  375. staffing.  
  376.   
  377.   
  378. OTHER REFERENCE MATERIALS  
  379. While it is not necessary to have understood (or even to have read) Dr.   
  380. Boehm's book to run the model, it is strongly suggested that you do so to   
  381. have a fuller understanding of the implications of parametric modeling.  In 
  382. particular, the book gives detailed descriptions of the software   
  383. development process and the factors that tend to increase/decrease the   
  384. total effort and schedule.  Context sensitive help is available on-line while 
  385. running the REVIC model to assist you in establishing the proper   
  386. environmental description.  In all cases, the information given is enough to 
  387. input data and get results, however Dr. Boehm's book gives a more complete  
  388. explanation with many examples.    
  389.   
  390.   
  391. SECTION 2  -  REVIC FILES  
  392.   
  393. PROGRAM FILES  
  394. REVIC is distributed as a single executable program (REVIC.EXE) for IBM and 
  395. compatible personal computers using the MS-DOS operating system. During   
  396. the program's execution, a temporary work file is created to store   
  397. information about the line of code estimates.  This file is always called   
  398. "WORKLOC.CDE" and may be deleted from your directory if found.   It will not 
  399. affect the REVIC program to leave it on your disk.  For speed of execution and
  400. easier operation, a separate subdirectory should be created for the REVIC
  401. program and the data files that will accumulate. Copy the REVIC.EXE file into
  402. the subdirectory before starting the program. The following DOS statements give
  403. an example of creating a new subdirectory called "REVIC" and then copying the
  404. program from its distribution disk (assumed to be in disk drive "A") to the new
  405. subdirectory.
  406.                        C:>MD REVIC
  407.                        C:>CD REVIC
  408.                        C:\REVIC>COPY A:REVIC.EXE   
  409.   
  410. DATA FILES - .RDF  
  411. The REVIC program provides the ability to save your estimates during the   
  412. course of running the program for reuse later.  The files are identified by 
  413. the '.RDF' extension and are created whenever you save the results of an   
  414. estimating session.  RDF (REVIC Data File) files are ascii files containing 
  415. all the program's inputs, results variables, and program flags.  These types 
  416. of files can be read into the REVIC program and will result in the exact   
  417. state the program was in when the file was saved.  This allows you to   
  418. revisit previous estimates and change the inputs.  RDF files could also be  
  419. read by user written programs for specific purposes.  The REVIC Programmer's 
  420. Notes gives a description of RDF file contents.  
  421.   
  422.   
  423. DATA FILES - .RFF  
  424. A second type of file is identified by the '.RFF' extension.  RFF (REVIC Factor
  425. File) files are ascii files containing the complete set of environmental   
  426. factors describing the contractor's development environment and certain   
  427. project factors such as complexity, security, etc.  These files allow you to 
  428. set up default environments that can be read into the REVIC program and   
  429. save you having to manually specify the environment.  For example, you   
  430. could have a RFF for one contractor or type of project and another RFF for a 
  431. different contractor or type of project.  An analyst would not be required to 
  432. 'guess' what environment to specify for a given project.  He would merely   
  433. load the appropriate RFF and proceed with the analysis.  The program allows 
  434. you to save the current environment to a RFF file at any time.  
  435.   
  436.   
  437. DATA FILES - .RCF  
  438. A third type of file is identified by the '.RCF' extension.  RCF (REVIC   
  439. Coefficient File) files are files containing the coefficients for the   
  440. equations used by the program.  These files may be provided to tailor the   
  441. calibration of the model to specific circumstances.  If present, these files 
  442. may be selected by the user during the execution of the REVIC model.  When  
  443. selected, a message will appear on the displays and reports that  non-  
  444. standard calibration coefficients were used.    
  445. SECTION 3  -  GETTING STARTED  
  446.   
  447. To start the program, type its name at the DOS prompt (>) followed by a   
  448. RETURN (cr) as follows:  
  449.   
  450.                        > REVIC  (cr)  
  451.   
  452. The program will load and present  its opening screen giving the version   
  453. number of the program and a menu of choices that can be taken.  The opening 
  454. screen suggests that users who are not familiar with the model choose the   
  455. 'Begin' option from the menu.  Experienced users may want to skip the   
  456. beginning screens to get directly to the ability to load a custom   
  457. environment or a previously saved data file.  They may do so by choosing the 
  458. appropriate menu item from the opening screen.  Choosing the 'Begin' option 
  459. will result in a fixed series of input screens which will ensure that the user 
  460. enters all appropriate information.  The order of this script is described in 
  461. the remainder of this section.  For information on the other menu choices,  
  462. see Section 4.  
  463.   
  464.   
  465. LOAD SAVED FILE   
  466. The program presents you with screens giving instructions and requesting   
  467. various inputs.  After starting the program and choosing the 'Begin' option 
  468. from the opening screen, you will be presented with the only unique screen  
  469. in the REVIC program (all other screens can be recalled through appropriate 
  470. menu choices).  This screen is showed only when starting the 'Begin' script. 
  471. You are asked if you want to load a previously saved data file (RDF).  A   
  472. message at the bottom of the screen tells you that hitting the RETURN key   
  473. without entering anything will always default to the choice enclosed within 
  474. square brackets.  In this screen, the default choice is [N], or NO.  Once you 
  475. have run the program and have saved one or more data files, you may want to 
  476. start out by loading one of them.  If that were the case, you would hit the 
  477. 'Y' or 'y' key.  The file would be opened, read, and the model would jump to 
  478. the results display.  If you answered 'Y' to this prompt and there were no  
  479. previously saved RDF files, the program would inform you that no files were 
  480. found and allow you to continue. The first screen, just described, is unique 
  481. because it determines the mode of operation of the program.  If you do not have
  482. a RDF file to load, you must enter certain amounts of data to get an estimate. 
  483. Answering 'NO' to the first screen's prompt means that the program will put 
  484. up a predetermined minimum number of screens, in order, to ensure that  
  485. sufficient data has been input to make a valid estimate.  Answering YES and 
  486. subsequently loading the RDF file, takes you directly to the result screens. 
  487. Once at the result screens, you take control of the program and tell it what 
  488. you want to do, and the order to do it in, by selecting from a menu of choices.
  489.  
  490. The remainder of this section will assume that you choose 'NO' to the first 
  491. screen's prompt.    
  492.   
  493.   
  494. SELECT ENVIRONMENT  
  495. The next screen presents you with 24 environmental factors and default   
  496. variables.   The screen is divided into two sections.  The upper part of the 
  497. screen displays nineteen environmental factors and the software   
  498. development mode.  Below that is a group of four variables with their   
  499. default settings.  Use the cursor control keys (arrows, PGUP, PGDN, HOME,   
  500. END, TAB, SHIFT TAB) to move between fields.  The current field selected   
  501. will be highlighted.  When an environment factor field (upper part of the
  502. display) has been selected, you can increment the setting by hitting the  SPACE
  503. BAR. The setting displayed and its value will increment to the next higher
  504. rating until reaching the maximum and will then start over at the lowest rating
  505. in a circular buffer.  The total product of all nineteen factors (the software 
  506. development mode is not one of the factors, but is shown with a value of 1.00 
  507. in this display to avoid confusion) is continuously updated and displayed   
  508. immediately below the factors.  The total effort and schedule predicted by  
  509. the model is directly proportional to this number.  Larger values result in 
  510. more effort and schedule, while smaller values result in less effort and   
  511. schedule.  Note that not all the factors have larger values for high settings 
  512. versus low settings.  It will be a temptation to play with the factors to   
  513. make the predicted effort and schedule come out to the RIGHT ANSWER.    
  514. Avoid that temptation.  You should always set the factors to the actual   
  515. environment to the best of your knowledge.  If you don't like the resulting
  516. answer then something in the actual environment or size of the program needs to
  517. be changed, but don't fool yourself by specifying an environment that doesn't  
  518. correspond to reality.  
  519.   
  520. The four variables in the lower part of the screen must be manually input.  
  521. Each field has a specified length.  While entering numbers into a field, if 
  522. you go over the specified length the field will reset to zero.  If you enter 
  523. a number that fits within the specified length but is outside of a normal range
  524. of values  for that factor (for example -  the number of hours in a man-  
  525. month can't exceed 248), the program will not replace the default value.    
  526. This limit checking is not performed until you exit the screen by hitting the 
  527. ESCAPE key.  If you entered an improper number and left the screen, when   
  528. you reenter this screen at a subsequent time, the value displayed will show 
  529. that the default number is still in place.  
  530.   
  531. For this screen and most subsequent ones, a notice is shown at the bottom   
  532. of the display describing the function keys that are active.  For this screen 
  533. you have three choices.  Selecting F1 will take you to the on-line help file. 
  534. You will get a specific help screen based on which field was highlighted   
  535. when you asked for help.  The second choice is Selecting the ESCAPE key.    
  536. This will cause the program to check all fields, limit check the variables, 
  537. enter the appropriate data into the programs data base, and proceed to the  
  538. next screen.  The final choice is to Select the F9 key.  This will result in 
  539. quitting the REVIC program.  All data input will be lost if you choose this 
  540. action.  All of the environmental factors are described in Dr. Boehm's book 
  541. and in the help file, therefore, they will not be discussed in this manual. 
  542. Additionally, the four variables are described in adequate detail in the help 
  543. screens and will also not be discussed.  
  544.   
  545.   
  546. NEW CODE DESCRIPTION  
  547. Entering the estimates for lines of code to be developed is broken up into  
  548. two main categories.  The first is entirely new code and the next screen   
  549. describes how the program will ask for the lines of new code to be input.   
  550. This informational screen is only shown when you have choosen the 'Begin'   
  551. option from the menu.  Arriving at the code enter screens by any other mode 
  552. assumes that you know what the program will ask for.  In essense, power   
  553. users are not handicapped by having to waste time reading this screen since 
  554. the same information is available from the help screen available when at   
  555. the next display.   Hit any key after reading the information to proceed.  
  556.   
  557.   
  558. NEW CODE ENTER  
  559. The program stores four pieces of information for each code module in the   
  560. temporary WORKLOC.CDE random access file; the module's name, the low   
  561. estimate (LE) for lines of code, the high estimate (HE) for lines of code, and 
  562. the most probable (MP) estimate for lines of code.  The four items are   
  563. prompted for in four fields.  Use the cursor control keys to move between   
  564. the fields and enter data.  The data you input is not entered into the program 
  565. until you select the F2 key as described on the screen.  Help is available by 
  566. selecting the F1 key.  The only number that is required to be entered is the 
  567. most probable estimate, the other fields may be left blank.  If the low and 
  568. high estimate fields are left blank when the F2 key is selected, they will  
  569. both be defaulted to the most probable estimate.  If only the high estimate 
  570. field is left blank, it will be defaulted to the most probable estimate.  If 
  571. only the low estimate field is left blank, it will be defaulted to zero.  Once 
  572. you are through entering new code modules, select the ESCAPE key to exit   
  573. the screen and proceed immediately to the adapted code screens, or select   
  574. the F9 key to quit the REVIC program.  All of the information entered is   
  575. printed in the appropriate report, therefore it is usefull to put in   
  576. descriptive names for the modules if you will be printing a lot of data.  
  577.   
  578.   
  579. STATISTICAL TREATMENT OF CODE ESTIMATES  
  580. The REVIC program goes beyond the COCOMO model by asking for the low and   
  581. high estimates for the lines of code to be developed.  The program   
  582. calculates an effective lines of code (EDSI) and the standard deviation (SD) 
  583. based on the spread between the high and low estimates.  Figure 3 shows   
  584. the equations used.  
  585.   
  586.   
  587.                  (4)      EDSI  =    (LE + 4MP + HE)  /  6  
  588.   
  589.   
  590.                  (5)       SD  =  (HE - LE)  /  6  
  591.  
  592.   
  593.                   FIGURE 3 - STATISTICAL CALCULATIONS  
  594.   
  595.  
  596. The EDSI is converted to KDSI by dividing by 1000 and is the actual number  
  597. used in equation (1).  The standard deviation is used to present a risk   
  598. analysis display which will be described later in this manual.  
  599. When the F2 key is selected, the currently displayed data is entered into the 
  600. program's data base (actually stored in the WORKLOC.CDE file).  The fields  
  601. are then emptied and the module number is incremented in the display.  The  
  602. program is then ready for another code module to be entered.  You are   
  603. limited in the number of code modules that can be entered only by the   
  604. amount of available space on your disk.  
  605.   
  606.   
  607. DECOMPOSING CODE ESTIMATES  
  608. Some thought should be given to how the software is decomposed and   
  609. entered into the program.  When more than one module are entered, the EDSI  
  610. and SD are calculated separately for each module.  The EDSIs are added   
  611. together while the SD of the combined modules is calculated using the   
  612. square root of the sum of the squares method.  This means that the   
  613. uncertainty in the lines of code as reflected in the standard deviation is  
  614. smaller when the code is decomposed.  In other words, the SD for a single   
  615. module of 100,000 lines of code with 10% uncertainty will be larger than   
  616. the sum of ten modules of 10,000 lines of code, each with the same  10%   
  617. uncertainty.  Thus it is more accurate to enter 100,000 lines of code as ten, 
  618. or more, modules than it would be to enter it as one module.  There may be  
  619. times when you want the SD to be high to see what the bounds of your   
  620. problem are, but remember that the accuracy of this statistical aproach   
  621. suffers.  
  622.   
  623.   
  624. PRODUCTIVITY VS SIZE OF CODE  
  625. The software development productivity, in terms of lines of code developed  
  626. per man-month expended, is non-linearly, inversely proportional to the total 
  627. size of the project.  In other words, the larger the size of code to be   
  628. developed, the lower the actual productivity will be.  The practical effect 
  629. of this phenomenon is that if you can divide a 100,000 lines of code   
  630. development into two independent teams, each with 50,000 lines of code, it  
  631. will consume less total effort.  Currently, you would have to run the model 
  632. twice with 50,000 lines of code and add the results together (or run it once 
  633. with 50,000 LOC and multiply the effort results by 2).  A future   
  634. enhancement to REVIC will allow you to enter the two code modules and   
  635. specify how they should be treated (as independent efforts or added   
  636. together); but for this version, they will be added together and the results 
  637. will reflect the lower productivity due to the larger size.    
  638.   
  639.  
  640. PRODUCTIVITY VS ENVIRONMENTAL FACTORS  
  641. The software development productivity, is also directly related to the   
  642. resulting modifier when all nineteen environmental factors are multiplied   
  643. together.  A lower MDD or modifier rating will result in a higher   
  644. productivity rating.  Figure 4 shows the relationship between productivity, 
  645. MDD and size of code for the semidetached mode.  Organic and Embedded   
  646. modes would have similar curves with different values.  
  647.   
  648.   
  649.                  FIGURE NOT AVAILABLE ON DOWNLOADED  
  650.                     VERSIONS OF THE USER'S MANUAL.  
  651.   
  652.                FIGURE 4 - PRODUCTIVITY RELATIONSHIPS  
  653.  
  654.  
  655. ADA AND PRODUCTIVITY
  656. The exponent used for the Ada mode in equation 1 is less that 1.0 (currently
  657. .941 is used in version 8.7.4 and greater).  This has unique implications for
  658. developments using the Ada programming support environment (APSE) and language.
  659.  
  660. In general, everything said above concerning productivity vs size is reversed
  661. for the Ada mode.  Since the exponent is less than unity, the resulting effort
  662. tends to be correspondingly less as the size increases and thus the
  663. productivity increases with size.  The exponent used in REVIC is close enough
  664. to unity that the productivity can be considered essentially constant over the
  665. range of code sizes and other factors can be used when deciding how to
  666. decompose the software.  Productivity will still vary with the environment in
  667. exactly the same manner as described for non-Ada modes.  
  668.  
  669. The phenomena described by the Ada exponent seems to justify the rationale that
  670. enforcing interfaces by using the separably compilable specifications vs body
  671. allows Ada developments to overcome some of the manpower normally wasted in
  672. communicating between design/programmer teams.  
  673.  
  674.    
  675. ADAPTED CODE DESCRIPTION  
  676. The next screen reached after selecting the 'ESCape' key in the new code   
  677. enter screen describes how the program expects data to be input when you   
  678. are adapting or modifying an existing software module as part of the overall 
  679. software development.  You are asked if you have any adapted code modules   
  680. to enter.  The default choice available by hitting the RETURN key without   
  681. entering anything is 'NO'.  If you take the default action, the program will 
  682. go on to calculate with all the data currently entered and display the first 
  683. results screen.  Entering 'Y' or 'y' will cause the program to show the   
  684. adapted code enter screen.  (Actually, entering any character except a "Y" or 
  685. 'y' will default to the 'NO' option.)  Again, this screen is only shown when 
  686. arriving here via the 'Begin' option from the menu.  Power users do not have 
  687. to suffer this screen everytime.  
  688.   
  689.   
  690. ADAPTED CODE ENTER  
  691. The adapted code enter screen is mechanically similar to the new code enter 
  692. screen already described.  Only the types of data being requested are   
  693. different.  The help screens provide a complete description of the requested 
  694. data, therefore, the information will not be repeated here.  Dr. Boehm's book 
  695. provides a particularly good discussion of adapted code and is recommended  
  696. reading.  The program calculates the Equivalent Delivered Source   
  697. Instructions (EDSI) in accordance with the equation shown in FIGURE 4.  The 
  698. Adapted Delivered Source Instructions (ADSI) is multiplied by the percents  
  699. of design modification (DM), code modification (CM), and retesting (IM)   
  700. required.  As an example, an adapted code package which had exactly 100%   
  701. design modification, 100% code modification, and 100% retest required   
  702. would result in the EDSI being equal to the ADSI.  For statistical purposes, 
  703. REVIC assumes a 10%  (a total of 20% of the calculated EDSI) standard   
  704. deviation for the adapted code modules.  The means of entering the data into 
  705. the program's data base and exiting the screen are identical to those   
  706. described for the new code enter screen.  
  707.   
  708.   
  709.            (6)    EDSI  =  ADSI * (.4 DM +.3 CM + .3 IM)  /  100  
  710.   
  711.   
  712.                  FIGURE 4  -  Adapted Code Calculation  
  713.   
  714.   
  715.   
  716. PHASE DISTRIBUTION DISPLAY  
  717. The next screen display marks the end of the predetermined path started   
  718. when you chose the 'Begin' option when starting the REVIC program.  The   
  719. phase distribution display shows the predicted effort, schedule, and   
  720. required manpower distributed by the development phase (system   
  721. engineering, preliminary design, etc.).  From this point on, you will choose 
  722. your actions from a menu of choices at the bottom of the screen.  Besides   
  723. changing any of the previously input data, you have the opportunity to   
  724. perform trade-off analyses by constraining manpower or schedules, or both.  
  725. The power of REVIC goes beyond merely estimating a program's cost.  REVIC   
  726. can, and should, be used as an on-going tool to evaluate the program's   
  727. progress.  Using the ability to specify schedule or manpower by specific   
  728. phase of the program allows you to determine such things as the effects of  
  729. understaffing on cost/schedule, the costs of schedule compression, or the   
  730. expected overruns due to line of code growth.  Changing the environmental   
  731. factors allows you to quantify the results of staffing with new hires when  
  732. the program was bid based on experience people or vice-versa.  The list of  
  733. ways in which the REVIC program can be used to analyze programs is limited  
  734. only by your imagination.  SECTION 4  -  PROGRAM OPTIONS  
  735.   
  736.   
  737. USING THE MENU  
  738. Once you have reached the phase distribution display or you choose to use   
  739. the other choices from the menu at the startup screen, further use of the   
  740. model is directed by your use of the menu displayed at the bottom of the   
  741. screen. The top line of the two lines displayed is the main menu.  Under it are
  742. the sub items which are available from the main menu item which is currently
  743. highlighted.  You may use the cursor arrows to move between the main menu items
  744. and see the full set of subitems available.  When you have highlighted the main
  745. menu item you wish to select, select the RETURN key.  You may also select the
  746. main menu item directly by hitting the first letter of the main menu item. 
  747. After you have selected a main menu item, the main menu line is hidden and the
  748. submenu becomes active.  Choose an item from the submenu in the same manner,
  749. with the cursor keys and RETURN key or by selecting the first letter of your
  750. menu choice.  If you make a mistake or change your mind at the submenu level
  751. when using the cursor keys, you may return to the main menu by selecting the
  752. ESCAPE key.  Each menu and suboptions are described in the following sections. 
  753.  
  754.   
  755. THE FILES MENU  
  756. The first item in the main menu is the FILES menu.  Under the FILES menu   
  757. are choices which allow you to save REVIC Data Files (.RDF), load previously 
  758. saved RDF files, and restart the program.    
  759.   
  760.   
  761. FILES MENU - Save Data File  
  762. When you choose the Save Data File option, the program will  prompt you to  
  763. enter a filename in which to store the current data.  The filename should   
  764. follow the normal DOS naming conventions.  Any letters after eight   
  765. characters will be ignored.   The program will open a data file in the current 
  766. subdirectory, write the information to it, close the file, and return to the 
  767. main menu display.  If you select the 'RETURN' or 'ENTER' key without   
  768. entering anything, the program will cancel this action and return to the   
  769. main menu display.  
  770.   
  771.   
  772. FILES MENU - Load Data File  
  773. When you choose the Load Data File option, the program will put up a list of 
  774. all the RDF files that exist within the default or last specified subdirectory.
  775.  
  776. You can then use any of the normal cursor control keys to select a file from 
  777. the list.  Selecting the 'RETURN' or 'ENTER' key will cause the program to  
  778. open and read the filename that is highlighted as a result of your cursor   
  779. selection.  Selecting the 'ESCape' key will cancel this action and return to 
  780. the main menu display.  If there are no RDF files in the current subdirectory, 
  781. a message will be displayed and the program will return to the main menu.  
  782.   
  783.   
  784. FILES MENU - Restart  
  785. The Restart option will reinitialize all variables and return to the startup 
  786. screen.  
  787.   
  788.   
  789. THE REPORTS MENU  
  790. The second item in the main menu is the REPORTS menu.  You have the choice  
  791. of getting a full report, an abbreviated phase display only report, a   
  792. maintenance report, and a CDRL page estimate report.  Besides using the   
  793. REPORTS menu, you can always use the SHIFT- PRT SCRN method of getting a   
  794. print out of whatever is currently displayed on the screen.  Currently REVIC 
  795. only supports line printers.  
  796.   
  797.   
  798. REPORTS MENU - Full Report  
  799. The Full Report choice will give you a print out containing the phase   
  800. distribution display, the activity distribution display, the risk display, the 
  801. environmental factors with their current settings, and the line of code   
  802. estimates used in the calculations.  You will be prompted for a name to   
  803. identify the report and be asked to put the printer on-line before proceeding. 
  804. The printed report will have the current date and time from the system   
  805. clock for reference.  If you have entered a session name in a previous report 
  806. and do not need to change it, you can hit the RETURN key without entering   
  807. anything.  The previously entered session name will be used.  If you choose 
  808. to enter a new name, it will become the default name for all subsequent   
  809. displays and reports until you choose to change it again.  The REVIC program 
  810. will respond differently to printer problems depending on what type of   
  811. computer and version of DOS you are using.  It may crash the program if you 
  812. are not on-line when the program attempts to start printing, so heed the   
  813. warning message and set up your printer before allowing the program to   
  814. continue (it is a good idea to save the data to a RDF file first) or cancel 
  815. the print job.  After printing the report, the Phase Distribution Display will 
  816. be shown on the screen along with the main menu.  
  817.   
  818.   
  819. REPORTS MENU - Phase Report  
  820. This option prints out only the Phase Distribution Display and the   
  821. environmental factors.  You are prompted for a session name and to make   
  822. sure the printer is on-line in a similar manner to the  Full Report option. 
  823. After printing the report, the Phase Distribution Display will be shown on  
  824. the screeen.  
  825.   
  826.   
  827. REPORTS MENU - Maintenance Report  
  828. This option prints out the fifteen year maintenance projections.  You will be 
  829. prompted for the session name and asked to put the printer on-line.  The   
  830. report will have the current date and time for reference.  Maintenance   
  831. reports show the total effort in manmonths, the average number of full   
  832. time support personnel required, the average inflated labor rate, and the   
  833. extended total costs per year for the direct labor.    
  834.   
  835.   
  836. REPORTS MENU - CDRL Page Estimates  
  837. This option prints out the page estimates for DOD-STD-2167A type   
  838. documents.  The prompts for session name and putting the printer on-line   
  839. are identical to those described for the other reports.  You will be given the 
  840. approximate page estimates for most of the typical types of documents.    
  841. The listing does not mean to imply that one of each type document must be   
  842. produced and is costed in the predicted effort.  The program is calibrated to 
  843. the completed programs in a data base, and therefore represents an average  
  844. amount of documentation.  If your program has an abnormal amount of   
  845. documentation required, you might want to increase the effort over that   
  846. predicted by the model to accomodate your special circumstances.  
  847.   
  848.   
  849. THE ENVIRONMENT MENU  
  850. The third item in the main menu is the ENVIRONMENT menu.  You have the   
  851. choices of editing the environmental factors, loading a previously saved RFF 
  852. file, saving the current factors to a RFF file, loading a previously saved RCF 
  853. file, or specifying the Ada factors.  
  854.   
  855.   
  856. ENVIRONMENT MENU - Edit Factors  
  857. This option will put up the Select Environment screen described in SECTION  
  858. 3, GETTING STARTED.  You may change any of the settings or variables   
  859. within this screen.  After exiting the Select Environment screen, the   
  860. program will calculate the new results and put up the Phase Distribution   
  861. Display.  
  862.   
  863.   
  864. ENVIRONMENT MENU - Load Factor File  
  865. This option will cause the program to search the current default   
  866. subdirectory for any REVIC Factor Files (RFF).  A list of RFF files will be 
  867. displayed and you will be able to use the cursor control keys to highlight the 
  868. file you want to load.  When you have highlighted the right file, select the 
  869. ENTER or RETURN key to select it.  The program will open the file and read in 
  870. the data.  After closing the file, the program will put up the Select   
  871. Environment screen to show what was loaded.  After exiting the Select   
  872. Environment screen, the program will recalculate the results and put up the 
  873. Phase Distribution Display.  Any forcing, such as forcing the manpower by   
  874. phase or the total schedule, will be lost and only the results of the nominal 
  875. calculations will be displayed.  Hitting the ESCape key will cancel the   
  876. action and return you to the main menu.  If there were no files in the current 
  877. subdirectory, a message will be shown and the model will put up the Select  
  878. Environment screen with the current settings.  
  879.   
  880.   
  881. ENVIRONMENT MENU - Save Factors  
  882. This option allows you to save the environmental factors, including the   
  883. program default variables and inflation rates, to a REVIC Factor File.  The 
  884. program will prompt you to input the filename to use, then will open the   
  885. filename under the current default directory, write the data to the file,   
  886. close the file, and then return you to the main menu.  If you enter an   
  887. improper filename, the program will  display a message and give you an   
  888. opportunity to correct it.  Selecting ENTER or RETURN without entering   
  889. anything will cancel this action and return you to the main menu.  
  890.   
  891.   
  892. ENVIRONMENT MENU - Get Coefficient File  
  893. This option will cause the program to search the current default   
  894. subdirectory for any REVIC Coefficient Files (RCF).  A list of RCF files will 
  895. be displayed and you will be able to use the cursor control keys to highlight 
  896. the file you want to load.  When you have highlighted the right file, select 
  897. the ENTER or RETURN key to select it.  The program will open the file and   
  898. read in the data.  After closing the file, the program will recalculate the 
  899. results and put up the Phase Distribution Display.  Any forcing, such as   
  900. forcing the manpower by phase or the total schedule, will be lost and only  
  901. the results of the nominal calculations will be displayed.  Selecting the   
  902. ESCape key will cancel the action and return you to the main menu.  If there 
  903. were no files in the current subdirectory, a message will be shown and the  
  904. model will return to the main menu.  
  905.   
  906.   
  907. ENVIRONMENT MENU - Ada Use  
  908. This option puts up an informational screen which tells the user that Ada has
  909. been implemented as another mode in the Edit Factors screen.
  910.   
  911.   
  912. THE CONSTRAINTS MENU   
  913. The fourth item in the main menu allows you to force the model to accept a  
  914. schedule or manpower loading of your choice.  When you force the model, it  
  915. recalculates the effort and schedule according to whatever constraining   
  916. condition you have input.  Note that shortening the schedule will result in 
  917. a lower setting (with a higher numeric value) for the schedule environmental 
  918. factor, with a proportional increase in the total effort to develop the   
  919. software.  
  920.   
  921.   
  922. CONSTRAINTS MENU - Remove Constraints  
  923. This option will remove all schedule or manpower constraints applied thru   
  924. the CONSTRAINTS menu.  It will recalculate and display the nominal results  
  925. in the Phase Distribution Display.  After chosing this option, or before   
  926. applying any constraints, the Phase Distribution Display will reflect the   
  927. schedule is NOMINAL.  Any other value for the schedule in the display   
  928. indicates that the program is still in constraint mode.  
  929.   
  930.   
  931. CONSTRAINTS MENU - Total Schedule  
  932. This option allows you to force the model to accept a total schedule of your 
  933. choice.  You will be given a message telling you that the model will not   
  934. allow you to specify a schedule that is shorter than approximately 75% of   
  935. the nominal schedule it calculated.  The program will tell you what that   
  936. value is and will then prompt you to input your desired total schedule.  If 
  937. you select the ENTER or RETURN key without entering anything, this action   
  938. will be canceled and you will be returned to the main menu.  After inputting 
  939. your desired schedule, the program will iterate its calculations to arrive at 
  940. a solution that meets your desired schedule within the iteration criteria of 
  941. one tenth (.1) of a month and display the results in the Phase Distribution 
  942. Display.  The display will automatically change the value of the schedule   
  943. actor and display the current setting.  
  944.   
  945. If you enter a total schedule that is too short, the program will put up an 
  946. error message and tell you to reenter.  The value shown for the minimum   
  947. schedule is rounded off for display, therefore you may need to enter a   
  948. number that is slightly higher if you are trying to get the shortest possible 
  949. schedule.  
  950.   
  951. The minimum possible schedule is maintained properly even when you   
  952. choose to change the system engineering or DT&E schedule through the MISC   
  953. menu. The minimum possible schedule is based on the development phase   
  954. portion of the entire lifecycle.  You can shorten the total schedule by   
  955. zeroing out either of the two non-developmental phases, but you will still  
  956. not be allowed to shorten the nominal development phase below the   
  957. minimum.  
  958.   
  959.   
  960. CONSTRAINTS MENU - Manpower By Phase  
  961. This option allows you to specify the number of full time personnel in each 
  962. phase of the total lifecycle.  The model will put up a display of what is   
  963. currently in each phase.  Use the cursor control keys to move around and   
  964. change the values as desired.  When you tell the program to enter the data  
  965. by selecting the 'F2' key, the schedule will be calculated.  If the resulting 
  966. schedule is below the 75% minimum schedule, you will be given an error   
  967. message and allowed to change your inputs.  Selecting the ESCAPE key will   
  968. cancel this action and tell the program to recalculate the nominal values.  
  969. Note that this option allows you to perform a type of cost to complete   
  970. analysis.  If you are at one of the major milestones, you can force the model 
  971. by putting in the actual manpower used up to that point.  The Phase   
  972. Distribution Display will show what the effect on the total effort and   
  973. schedule will be (assuming that the program is staffed according to the  
  974. nominal levels for the rest of the program).  You can also put in any proposed
  975. under or over staffing and determine the total effect in a similar manner. 
  976.  
  977.  
  978. CONSTRAINTS MENU -Schedule By Phase 
  979. This option is similar to the Manpower By Phase item except that you are  
  980. specifying the actual schedule.  The program will check against the 75%  
  981. minimum schedule and then recalculate the effort and personnel needed.    
  982. This option allows you to perform a similar analysis to the Manpower By  
  983. Phase option.  In this case, you can force the model by inputting the actual
  984. schedule through the major milestones and let the model tell you the total 
  985. effect on effort and total schedule. 
  986.  
  987.  
  988. THE MISC MENU 
  989. The next item in the main menu allows you to change the defaults used in  
  990. calculating the system engineering and DT&E phases, allows you to specify  
  991. the inflation to be used in calculating the fifteen year maintenance effort,
  992. and will allow you to change the phase distribution percentages used in  
  993. allocating portions of the effort and schedule to the phases of development
  994. (system engineering, preliminary design, etc.). 
  995.  
  996.  
  997. MISC MENU - System Engineering 
  998. This option allows you to change the default percentages used in calculating
  999. the effort and schedule for the system engineering phase of the lifecycle. 
  1000. Use the cursor control keys to move between the fields and enter your new  
  1001. values.  Selecting the 'F2' key enters the data and tells the program to  
  1002. calculate the results and put up the Phase Distribution Display.  Entering a
  1003. zero in the percentage field will zero out the system engineering phase.   
  1004. Selecting the ESCAPE key will return the system engineering values to the  
  1005. original defaults.  The value to be input for the schedule should be the actual
  1006. months to be used by the model. 
  1007.  
  1008.  
  1009. MISC MENU - DT&E 
  1010. This option is similar to the System Engineering option.  In this case you are
  1011. changing the values for the Development, Test, and Evaluation phase of the 
  1012. lifecycle.  Note that the value for the DT&E percentage set in the Select  
  1013. Environment display changes the default value that is used in the  
  1014. calculations.   
  1015.  
  1016.  
  1017. MISC MENU - Inflation Factors 
  1018. This option allows you to specify the inflation factors to be used in the  
  1019. fifteen year maintenance calculations.  Use the cursor control keys to move
  1020. around and change the values.  Selecting the 'F3' key will reset all fifteen
  1021. values to zero.  Selecting the 'F4' key will replace all fifteen values with
  1022. the value that is currently in year 1.  Selecting the ESCAPE key will enter
  1023. the values and return you to the main menu.  Note that the inflation factors
  1024. are saved in the REVIC Factor File.  Upon program startup and after a restart,
  1025. the inflation factors are all set to zero. 
  1026.  
  1027.  
  1028. MISC MENU - Phase Distributions 
  1029. This option is not implemented in this version of REVIC.  After hitting any
  1030. key, you will be returned to the main menu. 
  1031.  
  1032.  
  1033. THE DISPLAY MENU 
  1034. The next item in the main menu allows you to choose between various  
  1035. displays showing the results of all calculations. 
  1036.  
  1037.  
  1038. DISPLAY MENU - Phase Dist. Display 
  1039. This option will recalculate all results and put up the Phase Distribution 
  1040. Display.  This display shows the effort, schedule, staffing, and costs by  
  1041. phase of the lifecycle. 
  1042.  
  1043.  
  1044. DISPLAY MENU - Risk Display 
  1045. This option will put up the Risk Display.  This display uses the standard  
  1046. deviation calculated from the lines of code estimates to show the plus and 
  1047. minus three sigma values for effort, schedule, and cost.  Use this display to
  1048. determine the risk position based on the proposed cost for the software  
  1049. development. 
  1050.  
  1051. In a 'fixed price' environment, you would expect the proposed cost to be on
  1052. the high side of the nominal values, since the contractor is assuming all of
  1053. the risk.  You would normally not expect the proposed costs to be above the
  1054. three sigma values.  In a 'cost plus' environment, you would expect the  
  1055. proposed cost to be on the low side of the nominal values, since the  
  1056. government is assuming most of the risk.  If your estimates and the  
  1057. proposed costs vary greatly, you should investigate the possibility that your
  1058. basic assumptions concerning line of code estimates (and the standard  
  1059. deviation) or the proposed development environment are incorrect.   
  1060.  
  1061.  
  1062. DISPLAY MENU - Activity Display 
  1063. This option puts up a display showing the effort in the system engineering 
  1064. and development phases distributed by the types of personnel doing the  
  1065. work.Distributions of effort in the DT&E phase are not shown.  See Dr.  
  1066. Boehm's book for a discussion of the types of activities and limitations of
  1067. this display. 
  1068.  
  1069.  
  1070. DISPLAY MENU - Maintenance Display 
  1071. This option puts up a display showing the effort, number of personnel  
  1072. required, and costs for maintaining the software over a fifteen year period.
  1073. The costs shown are based on the wrap rate entered in the Select  
  1074. Environment screen and inflated by the yearly inflation rate.  Selecting the
  1075. 'F2' key will print a report of the maintenance display similar to that  
  1076. obtained by using the 'Maintenance Report' option of the REPORTS menu.  To 
  1077. change the inflation factors, use the 'Inflation Factors' option of the MISC
  1078. menu.  To change the labor rates, use the 'Edit Factors' option of the  
  1079. ENVIRONMENT menu. 
  1080.  
  1081.  
  1082. DISPLAY MENU - CDRL page estimates 
  1083. This option will provide a display showing an approximate page count for  
  1084. the various types of CDRLs specified in DOD-STD-2167A.  See the discussion 
  1085. of the CDRL estimates under the REPORTS MENU. 
  1086.  
  1087.  
  1088. THE SLOC MENU 
  1089. This menu allows you to enter new estimates for lines of code or to edit the
  1090. existing estimates already entered. 
  1091.  
  1092.  
  1093. SLOC MENU - Both New & Adapted Code 
  1094. This option allows you to completely respecify the code modules used in the
  1095. program's calculations.  It completely erases the previous data while all  
  1096. other program variables such as the environmental factors are retained.  The
  1097. program will first put up the new code enter screen.  When you select  
  1098. 'ESCape' the adapted code enter screen is put up.  The introductory  
  1099. information screens described in Section 3 are not shown.  All processing  
  1100. within the screens is exactly as already described in Section 3. 
  1101.  
  1102.  
  1103. SLOC MENU - New Code Only 
  1104. This option is similar to the Both New & Adapted Code option except that it
  1105. will only put up the new code enter screen.   
  1106.  
  1107.  
  1108. SLOC MENU - Adapted Code Only 
  1109. This option is similar to the New Code Only option except that it will only
  1110. put up the adapted code enter screen.   
  1111.  
  1112. SLOC MENU - Edit Code Estimates 
  1113. This option allows you to change or delete existing line of code estimates.
  1114. You can also add additional new code or adapted code modules using this  
  1115. option.  You are asked if you want a print out of the existing line of code
  1116. modules.  If you chose the 'Y' option, the program will ask you to put the 
  1117. printer on-line and will then print out all the new code and adapted code  
  1118. modules that are active.   
  1119.  
  1120. All activity in the edit module is controlled by function keys.  You have the
  1121. option of editing an existing code module (F3), adding a new code module  
  1122. (F7), adding an adapted code module (F8), or leaving the edit module  
  1123. (ESCAPE).  If you choose to edit an existing module, the program will ask you
  1124. to specify the index number.  Once the data is displayed on the screen, you
  1125. can edit it as previously described for the new or adapted code enter  
  1126. modules.  You also have another function key active.  The F5 key will delete
  1127. the displayed module from the data base.  If you select the ESCAPE key  
  1128. while editing a module, the program will not make any changes to the  
  1129. module in the data base before leaving the edit module.  Entering an index 
  1130. number that is out of the range of the currently entered number of modules 
  1131. or was deleted will result in an appropriate message. 
  1132.  
  1133. If you choose either the add new code or add adapted code function keys, the
  1134. program will display the appropriate input prompts and allow you to enter the
  1135. information as previously described in the enter code module sections.  If you
  1136. select the ESCAPE key while entering a new module, the data will not be entered
  1137. into the data base. 
  1138.  
  1139.  
  1140. THE BEGIN MENU 
  1141. This menu item provides a scripted method for new users to enter all data  
  1142. necessary to get an estimate.  See Section 3 for a thorough discussion.  The
  1143. submenu item associated with this choice provides a descriptive message to 
  1144. direct a new user how to proceed. 
  1145.  
  1146.  
  1147. THE QUIT MENU  
  1148. This menu allows you to quit the REVIC program.  The submenu item  
  1149. associated with this choice provides a descriptive message telling you to  
  1150. hit the Return key to quit or to hit the ESCape key to return to the main  
  1151. menu. 
  1152.  
  1153.  
  1154. ADDITIONAL MENU CHOICES 
  1155. The REVIC program provides two additional menu choices which are not  
  1156. shown in the mainmenu or associated submenus.  These choices are reached  
  1157. by hitting an ALT key sequence anytime that the mainmenu is active as described
  1158. in the following sections. 
  1159.  
  1160.  
  1161. CHANGE PROGRAM COEFFICIENTS 
  1162. The coefficients and exponents used by the REVIC program in performing its 
  1163. basic calculations may by changed in this screen.  To enter this screen hit
  1164. the ALT "@" key (actually, just use the unshifted "2" key).  You will be  
  1165. presented with a display showing the eight equations, effort and schedule for
  1166. the four modes, and a descriptive title.  Use the cursor keys to move around
  1167. and change any coefficients or exponents desired.  Hitting the "F2" key will
  1168. enter the data and change the equations in program memory.  The new  
  1169. equations will remain in memory only as long as the program.  If you quit  
  1170. and start REVIC again, the equations will revert to their nominal values.  
  1171. The descriptive name will be displayed on all results to indicate that non-
  1172. standard coefficients were used, therefore you must type in a new  
  1173. descriptive name whenever changing the coefficients.  The program will  
  1174. substitute the name "Non-Standard Coefficients" for you if you do not  
  1175. change it yourself.  A function key is provided to allow reverting to the  
  1176. standard coefficients at any time.  Hitting the "F3" key will revert to the
  1177. standard equations and return to the mainmenu.  Hitting the ESCape key  
  1178. will return to the mainmenu without changing the coefficients currently in 
  1179. memory. 
  1180.  
  1181.  
  1182. SAVE PROGRAM COEFFICIENTS  
  1183. The coefficients currently in memory, along with the descriptive name can  
  1184. be saved to a .RDF file by hitting the ALT "*" key (actually the unshifted "8"
  1185. key).  You will be presented with the screen asking you to name the new file.
  1186. The coefficients and descriptive name will be saved to the file and you will
  1187. be returned to the mainmenu.  The stored file can be opened at any time thru
  1188. the ENVIRONMENT menu. 
  1189.  
  1190.  
  1191.  
  1192. SECTION 5 - REVIC EVOLUTION 
  1193.  
  1194. CALIBRATION 
  1195. The REVIC model is the subject of an on-going effort to calibrate the total
  1196. effort and schedule estimates within the DOD community.  All users of the  
  1197. model are asked to participate in the data collection process.  A sample data
  1198. collection sheet is provided as an attachment to this user's manual.  The  
  1199. sheet asks for the minimum set of  data necessary to calibrate the  
  1200. coefficients and factors of the model's equations, and should be filled out
  1201. after the DT&E phase of the software development is completed.   Completed 
  1202. data sheets should be sent to the office that provided the REVIC model.  
  1203.  
  1204.  
  1205. SUGGESTIONS FOR IMPROVEMENTS 
  1206. Please send any comments or suggestions for improvement to  
  1207.  
  1208.                         AFCMD/EPR 
  1209.                         ATTN: Mr. Bob Ness 
  1210.                         Kirtland AFB, NM 87117
  1211.  
  1212.  
  1213.   
  1214.